From 170e8712e9bfe792da29d6a3d1fb7a71fbe17336 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Wed, 29 Feb 2012 12:21:59 -0500 Subject: [PATCH] overlay: do not to set uninitialized values in the main allocation gtk_widget_translate_coordinates() can fail in case the widget is not realized or there's no common ancestor. Don't use the x/y values returned by that method in that case, since their value is undefined. --- gtk/gtkoverlay.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gtk/gtkoverlay.c b/gtk/gtkoverlay.c index 331d9ee600..e27384916d 100644 --- a/gtk/gtkoverlay.c +++ b/gtk/gtkoverlay.c @@ -127,12 +127,22 @@ gtk_overlay_get_main_widget_allocation (GtkOverlay *overlay, { GtkWidget *grandchild; gint x, y; + gboolean res; grandchild = gtk_bin_get_child (GTK_BIN (main_widget)); res = gtk_widget_translate_coordinates (grandchild, main_widget, 0, 0, &x, &y); - main_alloc.x = x; - main_alloc.y = y; + if (res) + { + main_alloc.x = x; + main_alloc.y = y; + } + else + { + main_alloc.x = 0; + main_alloc.y = 0; + } + main_alloc.width = gtk_widget_get_allocated_width (grandchild); main_alloc.height = gtk_widget_get_allocated_height (grandchild); } -- 2.30.2